﻿#region Copyright Notice
// 
// 
// Copyright (c) 2009-2010 Anindya Chatterjee
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// 
// 
// 
#endregion
using System;
using System.Drawing;
using System.Windows.Forms;
using ComponentFactory.Krypton.Toolkit;

namespace Calendar
{
    public partial class EventDetails : KryptonForm
    {
        private bool _isMouseDown;
        private Point _mouseOffset;

        public EventDetails()
        {
            InitializeComponent();
        }

        private void kryptonButton1_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void titleLabel_MouseDown(object sender, MouseEventArgs e)
        {
            int xOffset;
            int yOffset;
            if (e.Button == MouseButtons.Left)
            {
                xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
                yOffset = -e.Y - SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height;
                _mouseOffset = new Point(xOffset, yOffset);
                _isMouseDown = true;
            }
        }

        private void titleLabel_MouseMove(object sender, MouseEventArgs e)
        {
            if (_isMouseDown)
            {
                Point mousePos = MousePosition;
                mousePos.Offset(_mouseOffset.X, _mouseOffset.Y);
                Location = mousePos;
                Refresh();
                Invalidate();
            }
        }

        private void titleLabel_MouseUp(object sender, MouseEventArgs e)
        {
            _isMouseDown = false;
        }

        internal void SetDescrition(string description)
        {
            descBox.Rtf = description;
        }

        internal void SetTitle(string title)
        {
            titleLabel.Text = title;
        }
    }
}